iT邦幫忙

2021 iThome 鐵人賽

DAY 13
0
AI & Data

爬蟲怎麼爬 從零開始的爬蟲自學系列 第 13

爬蟲怎麼爬 從零開始的爬蟲自學 DAY13 python條件判斷語法 if else elif

  • 分享至 

  • xImage
  •  

前言

各位早安,書接上回我們說到list的使用方法,今天我們要利用一些實作跟小遊戲來練習程式設計中非常重要的條件判斷語法 if else elif

條件判斷語法 if

首先我們建立一個新的練習檔 conditional.py
https://ithelp.ithome.com.tw/upload/images/20210927/201401493nYLPjHdmd.jpg
建好之後我們來聊一聊if的基本概念

先補充一下 python的縮排(Tab)代表底下的程式碼是屬於它的功能(區塊)
條件滿足才會執行裡面的功能

if 就是如果的意思 代表如果條件符合就運行裡面的程式碼 條件不符合則會跳過裡面的程式碼
我們用以下例子來解釋
https://ithelp.ithome.com.tw/upload/images/20210927/20140149QfaWH9IdeX.jpg
if語法的格式是

if(空格)條件:
(縮排Tab)功能(如果條件符合要執行的程式碼)

可以看到因為1小於2正確 條件滿足(True) 所以系統會執行下一行
下一行就是它的功能 也就是縮排過的程式碼 這個概念我們稱之為區塊

接著我們把條件改成1大於2 很顯然不正確 條件不滿足(False) 所以系統跳過區塊內的程式碼
https://ithelp.ithome.com.tw/upload/images/20210927/20140149MkL7LS9f6Y.jpg
可以看到沒有印出 沒錯

其實條件有無滿足系統內會以布林值來表示
如果系統收到 True 則會執行區塊內程式碼
https://ithelp.ithome.com.tw/upload/images/20210927/20140149aLjU0zoQgG.jpg
輸出 是在 哈囉

系統收到 False 則會跳過不執行區塊內程式碼
https://ithelp.ithome.com.tw/upload/images/20210927/20140149pcUFa74y4H.jpg
輸出 哈囉

條件判斷語法 else

接下來要介紹 else 的用途之前先補充一個功能叫做 input( )
input(裡面放給使用者看的字串文字)
input 進來的資料類型是字串
接下來我們利用這個功能寫一個能跟使用者互動的程式
https://ithelp.ithome.com.tw/upload/images/20210927/20140149MaeN82JlDJ.jpg
首先記得把 input 進來的字串放入變數 x 並改成 int 才能用來比較 (第一行)
可以看到 當輸入5 就滿足條件(x大於3)並輸出 比3大 厲害
當輸入1 不滿足條件(x大於3)就只輸出 厲害

那如果想顯示比3還小的話 這時候就會用到 else
https://ithelp.ithome.com.tw/upload/images/20210927/201401494I9APxVWus.jpg
從這裡可以看出 else 的功用就是讓你放不滿足條件(False)時要執行的功能
他的格式跟 if 一樣只是不用放條件 它的上方一定要有 if

條件判斷語法 elif

elif 就是 else if 的意思
它的功用就是第二個條件 當不滿足 if 的條件時若滿足它的條件 則執行它的區塊內程式碼
https://ithelp.ithome.com.tw/upload/images/20210927/20140149dLG9NsFKJB.jpg
它們的執行邏輯是 先看符不符合 if 如果不符合再看 elif 還不符合才進 else
所以前面如果有符合就不會繼續往下比

接下來的問題是 可以有幾個 elif 呢
答案是 想要有幾個就能有幾個
https://ithelp.ithome.com.tw/upload/images/20210927/201401494d5dvkHga8.jpg
輸出都正確 如果有空你可以弄更多試試看
注意最後一個5 明天會解釋條件運算式(> < >= <=等等)怎麼運作

最後提一下 elif 上面一定要有 if 但是下面不一定要有 else
但是通常大家不會這樣搞 除非不符合條件就不想有動作了才會這樣用

今天練習了條件判斷語法 if else elif 的用法
明天要來詳細介紹常跟它們一起出現的條件運算式


早安閒聊區

你知道嗎?

南極冰山融化才會造成海平面上升喔 (因為北極是海冰也就是浮冰而南極則是陸冰喔)

每日二選一

吃荷包蛋時你是醬油派還是灑鹽派呢


上一篇
爬蟲怎麼爬 從零開始的爬蟲自學 DAY12 python列表進階篇
下一篇
爬蟲怎麼爬 從零開始的爬蟲自學 DAY14 python條件運算式
系列文
爬蟲怎麼爬 從零開始的爬蟲自學30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
kkant
iT邦新手 5 級 ‧ 2022-06-05 12:33:42

感謝教學,不過這邊

elif x>5:
    print(str(x)+"在5~10之間")

是不是應該改成

elif x>5:
    print(str(x)+"在6~10之間")

雖然只是描述的問題,
但就輸出結果,這樣描述感覺比較正確,
還是謝謝你的貢獻,剛好看到討論一下

我要留言

立即登入留言